{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 如何理解向量\n",
    "\n",
    "![Vector](../images/Math-Vector.svg)\n",
    "\n",
    "## 数学中的向量\n",
    "\n",
    "向量在数学和物理中具有重要的意义，以下是它们的主要特点和应用：\n",
    "\n",
    "### 定义\n",
    "- **向量**是一个具有大小和方向的量，通常用有序数对或数列表示。例如，在二维空间中，向量可以表示为 $ \\mathbf{v} = (x, y) $。\n",
    "\n",
    "### 性质\n",
    "- **加法**：两个向量可以相加，结果是一个新的向量。\n",
    "- **标量乘法**：向量可以与标量相乘，改变其大小但不改变方向。\n",
    "- **点积**：用于计算两个向量之间的夹角和投影。\n",
    "- **叉积**（在三维空间中）：用于计算两个向量所定义的平面的法向量。\n",
    "\n",
    "### 应用\n",
    "- 向量在几何、线性代数、计算机图形学等领域中广泛应用。\n",
    "\n",
    "## 物理中的向量\n",
    "\n",
    "### 定义\n",
    "- 在物理中，向量用于表示具有方向和大小的物理量，例如速度、加速度、力等。\n",
    "\n",
    "### 特性\n",
    "- **速度**：描述物体运动的快慢和方向。\n",
    "- **力**：描述物体受力的大小和方向。\n",
    "- **加速度**：描述物体速度变化的快慢和方向。\n",
    "\n",
    "### 应用\n",
    "- 向量在经典力学、电磁学、流体力学等领域中起着关键作用，帮助描述和分析物理现象。\n",
    "\n",
    "## 总结\n",
    "向量是数学和物理中不可或缺的工具，它们帮助我们更好地理解和描述现实世界的各种现象。通过向量，我们能够清晰地表达方向性和大小的关系，从而进行更复杂的分析和计算。\n",
    "\n",
    "## 面向对象中向量\n",
    "\n",
    "> ### ✨ 一个小需求：\n",
    "> 假设现在需要做一个人口普查，已经收集了所有人的**身高、体重、性别、年龄**这四个信息，\n",
    "> 现在有如下需求：\n",
    "> ##### 如何存储数据才能够高效的找到某个工作岗位下某性别某年龄的人数？\n",
    "\n",
    "![Vector](../images/POO-Vector.svg)\n",
    "\n",
    "## 向量的运算意义\n",
    "\n",
    "让我们用一个实际的场景来说明如何将一个人的收入分为工资收入、副业收入和其他收入，并通过向量运算来分析这些收入的实际意义。\n",
    "\n",
    "### 场景设定\n",
    "\n",
    "假设一个人的存款如下：\n",
    "+ **工资收入** ：\\$3000\n",
    "+ **副业收入** ：\\$1200\n",
    "+ **其他收入** ：\\$800\n",
    "\n",
    "我们可以将这三种收入表示为一个向量：\n",
    "\n",
    "$$\n",
    "\\mathbf{I} = (3000, 1200, 800)\n",
    "$$\n",
    "\n",
    "其中：\n",
    "- 第一个分量表示工资收入\n",
    "- 第二个分量表示副业收入\n",
    "- 第三个分量表示其他收入\n",
    "\n",
    "### 向量运算的实际意义\n",
    "\n",
    "#### 1. 向量加法\n",
    "\n",
    "假设这个人下个月工资收入了$500，副业收入了$300，其他收入没有收入。现在的存款数为：\n",
    "\n",
    "$$\n",
    "\\mathbf{I'} = \\mathbf{I_o} + \\mathbf{I_n} = (3000, 1200, 800) + (500, 300, 0) = (3500, 1500, 800)\n",
    "$$\n",
    "\n",
    "#### 2. 标量乘法\n",
    "\n",
    "假设这个人将所有收入存了定期（3年），年利率为$1.5%$。我们可以通过标量乘法来计算这他三年后的总存款数：\n",
    "\n",
    "$$\n",
    "\\mathbf{I''} = \\mathbf{I'} \\cdot 1.015 = (3000, 1500, 800) \\cdot 1.015 = (3045, 1522.5, 812)\n",
    "$$\n",
    "\n",
    "#### 3. 向量减法\n",
    "\n",
    "假设这个人3年以后的某月开始没再坚持做副业，导致副业收入减少$400，其他收入不变。新的收入向量为：\n",
    "\n",
    "$$\n",
    "\\mathbf{I'''} = \\mathbf{I''} - (0, 400, 0) = (3045, 1522.5, 812) - (0, 400, 0) = (3045, 1122.5, 812)\n",
    "$$\n",
    "\n",
    "# 拓展链接\n",
    "+ OI-WIKI.Vector - https://oi-wiki.org/math/linear-algebra/vector/"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
